package com.yanzhang.service.user;

import com.yanzhang.pojo.User;

import java.util.List;

/**
 * @author yanzhang
 */
public interface UserService {

    /**
     * 新增一个用户
     * @param user 用户对象
     * @return 是否成功
     */
    boolean add(User user);

    /**
     * 获取登录用户
     * @param userCode 用户编码
     * @param password 用户密码
     * @return 用户对象
     */
    User login(String userCode, String password);

    /**
     * 分页查询用户集合
     * @param userName 用户名
     * @param userRole 角色id
     * @param currentPageNo 当前页码
     * @param pageSize 每页数量
     * @return 用户对象集合
     */
    List<User> getUserList(String userName, int userRole, int currentPageNo, int pageSize);

    /**
     * 查询用户总数量
     * @param userName 用户名
     * @param userRole 角色id
     * @return 结果数量
     */
    int getUserCount(String userName, int userRole);

    /**
     * 通过id获取用户
     * @param id 主键
     * @return 用户对象
     */
    User getUserById(int id);

    /**
     * 通过用户编码获取用户
     * @param userCode 用户编码
     * @return 用户对象
     */
    User getUserByCode(String userCode);

    /**
     * 修改用户信息
     * @param user 用户对象
     * @return 是否成功
     */
    boolean modifyUser(User user);

    /**
     * 修改用户密码
     * @param id 主键
     * @param password 新密码
     * @return 是否成功
     */
    boolean updatePassword(int id, String password);

    /**
     * 通过id删除用户
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteUserById(int id);
}
